package org.skyui.annotations;

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
public @interface SkyField {
    boolean required() default true;

    boolean image() default false;

    boolean showInBriefView() default true;

    String caption();

    Class[] validator() default {};

    String read() default "";

    String write() default "";

    boolean immutable() default false;

    boolean showInCreate() default true;

    boolean showInView() default true;

    boolean password() default false;

    boolean passwordVerify() default false;

    SkyOption[] options() default {};
    
    String selectSource() default "";
   
    String enableSource() default "";
    
    String disableSource() default "";
    
    String selectType() default "OptionGroup";

    String[] enable() default {};

    String[] disable() default {};

    boolean show() default true;

    String[] roles() default { "ALL" };

    String[] productEditions() default { "ALL" };

    String[] productVersions() default { "ALL" };
    
}
